The present invention relates to navigation systems and geographic databases used with navigation systems, and more particularly the present invention relates to providing support in a navigation system or navigation application used therein for multiple names of geographic locations, such as places and/or points of interest, including names in more than one language.
Computer-based navigation systems are available that provide end-users with various navigating functions and features. For example, some navigation systems are installed in vehicles and are able to provide end-users (i.e., drivers of the vehicles) with optimum routes to travel by roads between locations. Using input from the end-user, and optionally from equipment that can determine one""s physical location (such as a GPS system), a navigation application program in the navigation system can examine various routes between two locations to determine an optimum route to travel from a starting location to a destination location in a geographic region. The navigation application program may then provide the end-user with information about the optimum route in the form of instructions that identify the maneuvers required to be taken by the user to travel from the starting location to the destination location. If the navigation system is located in an automobile, the instructions may take the form of audio instructions that are provided along the way as the user is traveling the route. Some navigation application programs are able to show detailed maps on computer displays illustrating routes to destinations, the types of maneuvers to be taken at various locations along the routes, locations of certain types of features, and so on.
In order to provide these and other navigating functions, the navigation system or application requires one or more detailed databases that include data which represent physical features in a geographic region. The detailed database may include data representing the roads and intersections in a geographic region and also may include information about the roads and intersections in a geographic region, such as turn restrictions at intersections, speed limits along the roads, street names of the various roads, address ranges along the various roads, and so on.
One of the difficulties that is encountered in providing information to end-users using navigation systems is accommodating multiple names for locations, such as points of interest or other places. Many locations are known by more than one name. Thus, when an end-user requests information from a navigation system or when a navigation system provides information to an end-user, it would be preferable that the navigation system be able to accommodate the different names by which some locations are known. Another difficulty associated with providing information to end-users using navigation systems relates to providing information in the end-user""s preferred language. In order to provide an end-user using a navigation system with meaningful information, the information should be provided to the end-user in the end-user""s preferred language. However, many locations are known by different names in different languages. For example, the country xe2x80x9cGermanyxe2x80x9d in English is known as xe2x80x9cDeutschlandxe2x80x9d in German and xe2x80x9cAllemandexe2x80x9d in French. Providing navigation information to an end-user in the end-user""s preferred language can be difficult when a navigation system is installed in a rental vehicle. Rental vehicles may be used by persons from other countries many of whom speak different languages. Thus, it would be preferable that the navigation system support use of different languages.
Although providing support for alternative names for locations and providing support for multiple languages would be desired, these features can be difficult to provide given the constraints imposed by the relatively limited resources of many navigation systems. Computer-based navigation systems are provided on various platforms including some with relatively limited computer hardware resources. For example, navigation systems may be located in vehicles or may be hand-held. These types of navigation systems may have relatively limited computer resources, such as limited memory and relatively slow I/O. In order to provide a high a level of functionality in such systems, it is required that the available computer resources be used efficiently. Due to the limited memory resources of these navigation systems, it is necessary to load geographic data as needed from a storage medium, such as a CD-ROM, into the memory of the navigation system for use by the navigation application program. Unfortunately, in these types of systems, I/O access from a storage medium may also be relatively slow. Thus, the relatively limited memory resources combined with the relatively slow I/O can limit the performance of some types of navigation systems, resulting in slow response. Aside from being undesirable, slow response in a navigation system may render the system useless for its intended purpose in certain circumstances. For example, if the navigation system is installed in a vehicle, the driver may require information from the navigation system about a desired route in a matter of seconds in order to utilize the information while driving. If the navigation system requires more than several seconds to calculate a route, the driver may have moved beyond the point at which the routing information provided by the navigation system is relevant. Therefore, it is important that navigation systems operate efficiently in order to provide navigating information relatively quickly.
Techniques have been devised or implemented to improve navigation system performance by organizing, structuring, or arranging the geographic database or the data in the database in particular ways. Because a navigation system uses geographic data in certain known and expected ways to perform known functions, the geographic data can be organized, structured, or arranged in a manner that facilitates their use in these known ways by the navigation system. Included among the techniques that can be used to facilitate the use of geographic data by navigation systems is parcelization. When data are parcelized, the plurality of data records that together comprise the geographic data are grouped together into separate groups or parcels. Another way that geographic data can be organized to facilitate their use is to organize the data spatially. When geographic data are organized spatially, features that are close together physically in the geographic region are represented by data records that are physically (or logically) close together in the database. Geographic data can be both parcelized and spatial organized to take advantage of both these techniques.
Although techniques such as parcelization and spatial organization can enhance the use of geographic data by a navigation system use of these techniques may be accompanied by some drawbacks. For example, use of these techniques can make it difficult to accommodate alternative names for locations. In addition, use of these techniques can make it difficult to accommodate multiple languages. Accordingly, there continues to be a need for improvement in the formation of geographic databases and the programming that uses them in order to provide better performance in navigation systems.
Navigation application programs may also be run on computer platforms that have relatively more memory resources and faster I/O, such as personal computers or networks. Although these platforms may have more and faster resources, the considerations related to the efficient use of geographic data still apply, but on a different scale. With these types of platforms, even greater functionality can be provided if the geographic database can be formed and used efficiently.
Accordingly, it is an objective to provide improvements in the storage and/or use of geographic data, and/or the programming that uses the geographic data, to accommodate and support alternative names for locations in a geographic region.
To achieve the foregoing and other objectives and in accordance with the purposes of the present invention, a method and system are provided for supporting alternative names of geographic locations with a navigation application program that uses a geographic database stored on a computer-readable medium. The alternative names of geographic locations include names in a plurality of different languages. Included are one or more language filters. Each of the one or more language filters associates data records in the geographic database that are used as names for geographic locations with one or more of the plurality of different languages. A routine using the one or more language filters so that the navigation application program can use names for geographic locations that are valid in an access language selected from among the plurality of different languages.